package com.gezhi.stuserver.feign;

import com.gezhi.stuserver.ClsFeignFallbackFactory;
import com.gezhi.stuserver.dto.ResultData;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;

/**
 * name: 指明这是OUTPATIENT-SERVICE微服务的调用客户端;
 * fallbackFactory: 指明熔断器的熔断工厂
 *
 * @author AWG
 */
@FeignClient(name="CLS-SERVER", fallbackFactory = ClsFeignFallbackFactory.class)
public interface ClsFeign {

    /**
     * 当调用findAllClass方法的时候，
     * 自动向CLS-SERVICE微服务的/cls/list发起请求
     * 此类中的方法和远程服务中controller中的方法名和参数需保持一致。
     *
     * @return 所有的班级组成的List集合
     */
    @GetMapping("/cls/list")
    ResultData findAllClass();

}